home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 6: Level 6 / 17 Bit - Level 6 (1998)(Epic Marketing)[!].iso / quartz / q0867.dms / q0867.adf / TRAPDOOR.LZH / Rexx / TrimFiles.rexx < prev    next >
OS/2 REXX Batch file  |  1991-01-15  |  1KB  |  62 lines

  1. /* Trim some file areas
  2.  
  3.    Usage: rx TrimFiles
  4.  
  5.    The list of areas that should be trimmed will be read from a disk file called
  6.    'FILES:TrimFiles'. Those areas listed in this file will be trimmed for files
  7.    within the last 31 days.
  8.  
  9. */
  10.  
  11. CSI     = '9b'x
  12. OFF     = CSI'0m'
  13. BO     = CSI'1m'
  14. UL     = CSI'4m'
  15. KEOL = CSI'K'
  16. CR   = '0d'x
  17. LF   = '0a'x
  18.  
  19. total = 0
  20. trimmed = 0
  21.  
  22. call writeln(stdout, 'Trimming file areas...')
  23. call writech(stdout, 'Scanning areas...')
  24. /*
  25. address command 'list >t:TrimAreas.Area files:#? dirs lformat "%s%s"'
  26. address command 'sort t:TrimAreas.Area to t:TrimAreas'
  27. */
  28. if open(areas,'FILES:TrimFiles','r') then do
  29.     do while ~eof(areas)
  30.         area = readln(areas)
  31.         area = strip(area)
  32. /*
  33.         comment = subword(statef(area),8)
  34.         wp=find(comment,'Days')
  35.         if wp~=0 then do
  36. */
  37.         if area~=="" then do
  38.             area='FILES:'area
  39.             call writech(stdout, CR||KEOL||'Area' area)
  40.             total = total+1
  41.             trimmed = trimmed+1
  42. /*
  43.             days=strip(subword(comment,wp+1),'T',';')+0
  44. */
  45.             days=31
  46.             call writech(stdout, ',' days 'days')
  47.             date=space(date('n',date('i')-days),1,'-')
  48.             date=left(overlay(substr(date,10,2),date,8,2),9)
  49.             call writech(stdout, ',' date)
  50.             address command 'list >t:TrimAreas.Area' area'/#? upto' date 'lformat "delete %s%s quiet"'
  51.             address command 'execute t:TrimAreas.Area'
  52.         end
  53.     end
  54.     close(areas)
  55.     say CR||total 'areas,' trimmed 'trimmed.'||KEOL
  56.     address command "delete t:TrimAreas.Area quiet"
  57. end
  58. else
  59.     say LF'Cannot open file FILES:TrimFiles'
  60.  
  61. return 0
  62.